Page Index
3 D 商城中【乐观锁】的使用
JL 于 2020-05-29 09:22:50 +08:00 修改了此页面

意图

  • 当要更新一条记录的时候,希望这条记录没有被别人更新

乐观锁实现方式

  • 取出记录时,获取当前version
  • 更新时,带上这个version
  • 执行更新时, set version = newVersion where version = oldVersion
  • 如果version不对,就更新失败

主要适用场景

  • 商品锁库存
  • 电子券领取
  • 等等

乐观锁插件

使用步骤

  • 注解实体字段@Version,数据库添加该字段
@Version
private Integer version;
  • 代码逻辑
if(!couponInfoService.updateById(cuponInfo)){
    throw new RuntimeException("请重新领取");
}